package exception;

/**
 * throw关键字允许我们主动对外抛出异常
 * 当前代码片段出现了一个异常  但是异常不应当在当前代码片段中被解决是课对外抛出
 * 满足语法但是不满足业务功能逻辑时  可以将其当作异常抛出给调用者
 */
public class ThrowDemo {
    public static void main(String[] args) {
        Person p = new Person();
        try {

            /*
            当我们调用含有throws声明异常抛出的方法时  编译器要求我们必须处理这个异常
            两种方法
            主动try - catch捕获并解决异常
            在当前方法上继续使用throws声明该异常的抛出
            具体选哪个要求结合实际业务分析异常处理的责任问题
             */
            p.setAge(1000);//满足语法  但是不满足业务逻辑
        } catch (IllegalAgeException e) {
            e.printStackTrace();
        }
        System.out.println("此人年龄："+p.getAge());

    }

}
